package com.eastfair.venueservice.service;

import com.eastfair.venueservice.entity.ExhibitionManage;

import java.util.List;
import java.util.Map;

/**
 * 首页统计 service.
 *
 * @author dqq
 * @date 2023 /2/7
 */
public interface HomePageStatisticsService {

    /**
     * 统计首页各项数据.
     *
     * @return the map
     */
    Map<String, Object> countItem();

    /**
     * 统计服务商数量.
     *
     * @return the long
     */
    int countServiceProvider();

    /**
     * 统计订单数量.
     *
     * @return the long
     */
    int countServiceOrder();

    /**
     * 统计交易额.
     *
     * @return the double
     */
    Double sumTransactionVolume();

    /**
     * 统计展会期数.
     *
     * @return the long
     */
    int countExhibition();

    /**
     * 统计工单数量.
     *
     * @return the long
     */
    int countWorkOrder();

    /**
     * 统计展会服务费用.
     *
     * @param exhibitionManageId the exhibition manage id
     * @return the map
     */
    List<Map<String, Object>> sumServiceCategoryFinance(Long exhibitionManageId);

    /**
     * 查询展会进行的日期.
     *
     * @param month 年-月
     * @return the list
     */
    List<String> listExhibitionManageDate(String month);

    /**
     * 按月份查询展会列表.
     *
     * @param beginDate the begin date
     * @param endDate   the end date
     * @return the list
     */
    List<ExhibitionManage> listExhibitionManageByMonth(String beginDate, String endDate);
}